A high level modeling system (HLMS) is a computer-based, circuit design tool that allows a user to create a circuit design at a high level of abstraction. An HLMS provides a design environment within which the user creates circuit designs using a modular approach. Typically, the HLMS provides a graphic design environment in which modules are inserted into the circuit design using a “drag-and-drop” design paradigm. The user can drag modules, represented as graphic blocks, into the design environment. Each module can represent a particular circuit function such as multiplexing, addition, multiplication, filtering, or the like. The user also can specify connectivity and signal flows within the circuit design by coupling exposed ports of modules by drawing lines, representing wires or signals, that couple the ports.
Typically, a hardware description language (HDL) such as VHDL or Verilog is used to describe the structural composition and behavioral properties of a module. An HLMS, for example, can utilize HDL to define the low level structural and behavioral properties of the various modules or blocks of the circuit being developed. HDLs, however, lack features that facilitate the creation of complex, modern system designs. For example, HDLs typically are not user-friendly and lack the flexibility needed to perform varied system development tasks.